﻿package igz.fleaxy.fx {
	import com.greensock.data.TweenMaxVars;
	import com.greensock.TweenMax;
	/**
	 * @author Intelygenz | www.intelygenz.com
	 */
	public class FxCrypto {

		static protected const _DEFAULT_CHARS:String = "0123456789@#-?";

		public function FxCrypto() {
			
		}

		/**
		 * Funcion ocupada de encriptar un texto, cambiando un % de las letras por los caracteres con los que se encriptaran
		 * 
		 * @param	p_text: String con el texto a encriptar
		 * @param	p_percent: Porcentaje en encriptación del texto [0-Nada | 1-Todo] [default=1]
		 * @param	p_chars: Caracteres con los que se encriptará [default=@#-]
		 */
		static public function $Encrypt(p_text:String, p_percent:Number = 1, p_chars:String = _DEFAULT_CHARS) : String {
			var text:String = p_text;

			var f:uint, F:uint = p_text.length;
			if ((p_percent > 0.5)&&(p_percent<1)){
				text = FxCrypto.$Encrypt(p_text, p_percent - 0.5, p_chars);
				p_percent = 0.5;
			}
			var jump:uint = F / (F * p_percent);
			if ( jump > 0 ) {
				var charCryp:String;
				var charOrig:String;
				for (f = 0; f < F; f += jump) {
					charCryp = p_chars.charAt(Math.random() * p_chars.length);
					charOrig = text.charAt(f);
					if ( charOrig!=" " ) {
						text = text.substring(0, f) + charCryp + text.substring(f + 1);
					}
				}
			}
			return text;
		}


	}

}